/*
 * flash.h
 *
 *  Created on: 2024骞�3鏈�12鏃�
 *      Author: 86152
 */
#include "zf_common_headfile.h"

#ifndef FLASH_H_
#define FLASH_H_


#define FLASH_SECTION_INDEX       (63)                                          // 存储数据用的扇区 倒数第一个扇区
#define FLASH_PAGE_INDEX          (3)                                           // 存储数据用的页码 倒数第一个页码

#define M_T_F_SIZE 5

extern float thres;                 // 二值化阈值，主要用于找起始点(边线使用自适应阈值，不使用该阈值)
extern float block_size;            // 自适应阈值的block大小
extern float clip_value;            // 自适应阈值的阈值裁减量
extern float begin_x;               // 起始点距离图像中心的左右偏移量
extern float begin_y;               // 起始点距离图像底部的上下偏移量
extern float line_blur_kernel;      // 边线三角滤波核的大小
extern float pixel_per_meter;       // 俯视图中，每个像素对应的长度\真实长度对应的像素点个数
extern float sample_dist;           // 边线等距采样的间距
extern float angle_dist;            // 计算边线转角时，三个计算点的距离
extern float aim_distance_flash;          // 预锚点长度
//extern float aim_dist[5];
extern float far_rate;              //
extern uint16 expose_time;
extern int choose_Binarization;

void flash_erasure();
void flash_write();
void flash_read();

typedef struct F_M_T{
    uint16 flash_buffer_index; // 缓冲区索引
    float* variable_address;   // 变量地址
    char   variable_name[8];   // 变量名
} flash_mapping_table; // 闪！电！大！宇！宙！

extern const flash_mapping_table M_T_F[];

#endif /* FLASH_H_ */
